package model;

import java.io.Serializable;

import javax.persistence.*;
import util.Converter;
import dto.EscursioneDTO;




/**
 * The persistent class for the Escursione database table.
 * 
 */
@Entity
@Table(name="Escursione")
@NamedQuery(name="Escursione.findAll", query="SELECT e FROM Escursione e")
public class Escursione implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int idElementoBase;

	private String città;

	private String oraFine;

	private String tipo;
	
	@OneToOne
	@JoinColumn(name="idElementoBase",insertable=false, updatable=false)
	private ElementoBase elemento;

	public Escursione() {
	}
	
	public Escursione(EscursioneDTO dto,boolean crea) {
		this.città = dto.getCittà();
		this.idElementoBase = dto.getIdElementoBase();
		this.oraFine = dto.getOraFine();
		this.tipo = dto.getTipo();
	}
	
	public Escursione(EscursioneDTO dto) {
		this.città = dto.getCittà();
		this.idElementoBase = dto.getIdElementoBase();
		this.oraFine = dto.getOraFine();
		this.tipo = dto.getTipo();
		this.elemento = Converter.convertFromDTO(dto.getElemento());
	}

	public int getIdElementoBase() {
		return this.idElementoBase;
	}

	public void setIdElementoBase(int idElementoBase) {
		this.idElementoBase = idElementoBase;
	}

	public String getCittà() {
		return this.città;
	}

	public void setCittà(String città) {
		this.città = città;
	}

	public String getOraFine() {
		return this.oraFine;
	}

	public void setOraFine(String oraFine) {
		this.oraFine = oraFine;
	}


	public String getTipo() {
		return this.tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public ElementoBase getElemento() {
		return elemento;
	}

	public void setElemento(ElementoBase elemento) {
		this.elemento = elemento;
	}
	
	

}